//
//  ArrayDataSource.h
//  27_ArrayDataSource
//
//  Created by 徐昊 on 16/8/19.
//  Copyright © 2016年 徐昊. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN

// 重定义, Block
// 无返回值
// 参数1: 自定义cell/系统cell
// 参数2: Model类
typedef void(^ __nonnull ConfigCell)(UITableViewCell *cell, id model);

// 该类需要签订, UITableViewDataSource
@interface ArrayDataSource : NSObject<UITableViewDataSource>
// 数据源的初始化方法
// 参数1: 重用池标识, 给协议方法使用
// 参数2: 数组, 数据源 -- Model
// 参数3: 处理cell的Block -- CallBack回调
- (instancetype)initWithTableViewCellReuse:(NSString *)reuse arrayDataSource:(NSArray *)array configCell:(ConfigCell)configCell;
// 数据源的构造器方法
+ (ArrayDataSource *)arrayDataSourceWtihTableViewCellReuse:(NSString *)reuse arrayDataSource:(NSArray *)array configCell:(ConfigCell)configCell;
@end
NS_ASSUME_NONNULL_END
